package com.cooldatasoft.domain.service;

import java.util.List;

import com.cooldatasoft.domain.model.Project;
import com.cooldatasoft.domain.model.Roles;
import com.cooldatasoft.domain.model.User;
import com.cooldatasoft.domain.model.UserProjectRoles;

public interface UserProjectRolesService {
	
	
	Long insertUserProjectRoles(UserProjectRoles userProjectRoles);

	void updateUserProjectRoles(UserProjectRoles userProjectRoles);
	
	void deleteUserProjectRoles(Long userProjectRolesId);

	List<UserProjectRoles> getAllUserProjectRoles();
	
	List<UserProjectRoles> getUserProjectRolesByIdUser(User idUser);
	
	List<UserProjectRoles> getUsersOnProject(Project idProject);
	
	UserProjectRoles getUserProjectRolesByIdUserAndIdProject(Project projects,User user);
	
	List<UserProjectRoles> getUsersByRoleOnProject(Project projects,Roles role);
	
	List<UserProjectRoles> getProjectsByUserWithRole(User user, Roles role);
	
	List<UserProjectRoles> getExistingRecord(Project project, User user, Roles role);

	List<UserProjectRoles> getUsersByRole(Project project, Roles role);
}
